www.gusucode.com > 基于matlab编程蒙特卡罗仿真设计源码程序 > 基于matlab编程蒙特卡罗仿真设计源码程序/第五讲 蒙特卡洛方法的应用/liti4.m

    function proguji=liti3(nn,num,mm)
%nn 是每盒中的火柴数
%num 是剩余的火柴数
%mm 是随机实验次数
frq=0;
randnum=binornd(1,0.5,mm,2*nn);proguji=0;
for i=1:mm
    a1=0;a2=0;j=1;
    while (a1<20)&(a2<20) 
        if  randnum(i,j)==1;           a1=a1+1;        else a2=a2+1;        end;           j=j+1; 
    end    
    if abs(a1-a2)>=5  
        frq=frq+1;
    end
%   a1=a1,a2=a2,frq
%   pause
end; proguji=frq/mm